package com.zenith.article.po.domain;

import com.zenith.common.base.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import io.swagger.v3.oas.annotations.media.Schema;

import java.time.LocalDateTime;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Schema(name = "文章分类实体", description = "文章分类实体")
public class ArtCategory extends BaseEntity {
    
    @Schema(description = "父级ID，0为顶级")
    private Long parentId;
    
    @Schema(description = "分类名称")
    private String name;
    
    @Schema(description = "多级路径 0/1/3/")
    private String path;
    
    @Schema(description = "类目层级")
    private Integer level;
    
    @Schema(description = "排序序号")
    private Integer sortOrder;
    
    @Schema(description = "是否叶子节点")
    private Integer isLeaf;
    
    @Schema(description = "状态")
    private Integer status;
    
    @Schema(description = "扩展信息JSON")
    private String extJson;

    @Schema(description = "子节点列表")
    private List<ArtCategory> children;
}